
#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(BitwiseLeftShiftTilingData)
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
TILING_DATA_FIELD_DEF(uint16_t, maxBlockPerIter);
TILING_DATA_FIELD_DEF(uint32_t, blockPerCore);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(BitwiseLeftShift, BitwiseLeftShiftTilingData)

BEGIN_TILING_DATA_DEF(BitwiseLeftShiftTilingDataBroad)
TILING_DATA_FIELD_DEF(uint16_t, nDim);
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
TILING_DATA_FIELD_DEF(uint16_t, maxBlockPerIter);
TILING_DATA_FIELD_DEF(uint32_t, blockPerCore);
TILING_DATA_FIELD_DEF_ARR(uint32_t, 5, shapeInput);
TILING_DATA_FIELD_DEF_ARR(uint32_t, 5, shapeOther);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(BitwiseLeftShift_1, BitwiseLeftShiftTilingDataBroad)

BEGIN_TILING_DATA_DEF(BitwiseLeftShiftTilingDataBroadSpec)
TILING_DATA_FIELD_DEF(uint32_t, broadcastDim);
TILING_DATA_FIELD_DEF(uint32_t, batchDataSize);
TILING_DATA_FIELD_DEF(uint32_t, nBatchPerCore);
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(BitwiseLeftShift_3, BitwiseLeftShiftTilingDataBroadSpec)

} // namespace optiling
